/***************************************************
Class: Font
Includes: stdafx.h
Editors: Gindi
Existing Issues: None
Description: Allows for the creation and printing of text.
***************************************************/
#pragma once

#include "stdafx.h"

// font alignment
enum FONT_ALIGNMENT {FA_LEFT, FA_CENTER, FA_RIGHT, FA_TOPRIGHT, FA_TOPLEFT, FA_BOTTOMRIGHT, FA_BOTTOMLEFT};

class Font {
public:
	Font();
	~Font() { Release(); }

	bool Initialize(LPDIRECT3DDEVICE9 pDevice, char* faceName, int size, bool bold = false, bool italic = false);
	void print(char* text, int xPosition, int yPosition, DWORD color, LPD3DXSPRITE sprite = NULL, 
			int textBoxWidth = 0, int textBoxHeight = 0, FONT_ALIGNMENT alignment = FA_LEFT);
	void OnLostDevice();
	void OnResetDevice();
	void Release();
private:
	LPD3DXFONT m_pFont;
};
